package com.fanrenqiji.common.utils.excels;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.xml.sax.SAXException;

import com.fanrenqiji.common.utils.excels.reader.ReaderBuilder;
import com.fanrenqiji.common.utils.excels.reader.XLSDataReadException;
import com.fanrenqiji.common.utils.excels.reader.XLSReader;

/**
 * @author lijian E-mail:ljz0721cx@163.com
 * @version 创建时间：2015年3月24日 下午12:24:53
 * @description 解读简单的excel数据
 */
public class ExcelRead {
	/**
	 * 只会读取Sheet1工作区
	 * 
	 * @param xmlIs
	 *            构建xml文件输入流
	 * @param excelIs
	 *            excel文件输入流
	 * @param beans
	 */
	public static void read(InputStream xmlIs, InputStream excelIs,
			Map<String, Object> beans) throws XLSDataReadException,
			SAXException, InvalidFormatException, IOException {
		// 绑定xml文件
		XLSReader mainReader;
		mainReader = ReaderBuilder.buildFromXML(xmlIs);
		// 通过低级流构建，高级流
		BufferedInputStream bis = new BufferedInputStream(excelIs);
		// 通过XSLReader 的read方法，它会自动映射pojo类，得到数据集合
		mainReader.read(bis, beans);

	}

}
